﻿#region

// /*******************************************************************************
// ** File Name  :    		    
// ** Creator    :    Wilson		        
// ** Create date:    2013-04-22	        
// ** Comment    : 
// **  -------------------------------- Modify Log --------------------------------
// ** Modify date:
// ** Description:		    
// ** Modify By:
// ** 
// *********************************************************************************/

#endregion

#region

using FCDB.WEB.Models;
using System.Linq;


#endregion

namespace FCDB.WEB.PagedQuery
{
    public static class PageLinqExtensions
    {
        public static PagedList<T> ToPagedList<T>(this IQueryable<T> allItems, int pageIndex, int pageSize)
        {
            if (pageIndex < 1)
                pageIndex = 1;
            int itemIndex = (pageIndex - 1)*pageSize;
            IQueryable<T> pageOfItems = allItems.Skip(itemIndex).Take(pageSize);
            int totalItemCount = allItems.Count();
            return new PagedList<T>(pageOfItems, pageIndex, pageSize, totalItemCount);
        }
    }
}